// 请求参数
let params = {
  pagenum:1, // 获取第一页数据
  pagesize:2, // 每页2条数据
  // state 
  // cate_id
}
// 封装函数，获取文章 渲染到tbody
function renderArticle() {
  axios.get('/my/article/list',{params}).then(res => {
    console.log(res.data)
    let {status,data,total} = res.data
    if (status ===0) {
      let str = ''
      data.forEach(item => {
        str += `
        <tr>
            <td>${item.title}</td>
            <td>${item.cate_name}</td>
            <td>${item.pub_date}</td>
            <td>${item.state}</td>
            <td>
              <button type="button" class="layui-btn layui-btn-xs">编辑</button>
              <button data-id="${item.id}" type="button" class="del layui-btn layui-btn-xs layui-btn-danger">删除</button>
            </td>
          </tr>
        `
      })
      $('tbody').html(str)
      showPage(total)
    }
  })
}
renderArticle()

// 分页
let laypage = layui.laypage
// 执行一个laypage实力
function showPage(t) {
  laypage.render({
    elem:'page',  // 是id 不用加#
    count:t, // 数据总数，从服务端得到
    limit:params.pagesize,  // 每页显示条数
    curr:params.pagenum, // 当前页
    // prev: '上一页'
    jump:function(obj,first) {
      // 首次不执行
      if (!first) {
        // do something
        // obj 包含了当前分页的所有参数，比如
        // console.log(obj.curr)  // 得到当前页，以便想服务端请求对应页的数据
        // console.log(obj.limit) // 得到每页显示的条数
        params.pagenum = obj.curr
        params.pagesize = obj.limit
        renderArticle()
      }
    }
  })
}

// 筛选
// 获取分类
let form = layui.form
axios.get('/my/category/list').then(res => {
  let {status,data} = res.data
  if (status ===0) {
    // console.log(res)
    let str = ''
    data.forEach(item => {
      str += `<option value="${item.id}">${item.name}</option>`
    })
    $('#category').append(str)
    // 更新渲染
    let form = layui.form
    form.render('select')
  }
})

// 筛选
$('#search').on('submit',function (e) {
  e.preventDefault()
  // console.log(1)
  // 获取下拉框两个值
  let cate_id = $('#category').val()
  let state = $('#state').val()
  // 设置请求参数
  if (cate_id) {
    params.cate_id = cate_id
  } else {
    delete params.cate_id
  }
  if (state) {
    params.state = state
  } else {
    delete params.state
  }
  // 筛选完 重置pagenum = 1
  params.pagenum = 1
  // 发送请求
  renderArticle()
})

// 删除
$('tbody').on('click','.del',function() {
  // console.log(1)
  let id = $(this).data('id')   // 或者用attr方法
  console.log(id)
  // 询问是否删除  
  layer.confirm('确定删除吗？',function (index) {
    // do something
    // 确定发请求
    axios.get(`/my/article/delete/${id}`).then(res => {
      let {status,message} = res.data
      if (status === 0) {
        layer.msg(message)
        // 更新
        renderArticle()
      }
    })
    layer.close(index)
  })
})

// 编辑
